Make xm sysrq work via XenAPI re: PAUSED state problem
authorTom Wilkie <tom.wilkie@gmail.com>
Tue, 27 Mar 2007 14:47:02 +0000 (15:47 +0100)
committerTom Wilkie <tom.wilkie@gmail.com>
Tue, 27 Mar 2007 14:47:02 +0000 (15:47 +0100)
signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

tools/python/xen/xend/XendAPI.py

index b1cda4197ba6baaf6e1bd99641f8e2e4fe0ae196..80f8f817be8d6e5715b89e476d4c4152672cde6f 100644 (file)
@@ -1647,14 +1647,15 @@ class XendAPI(object):
 
     def VM_send_sysrq(self, _, vm_ref, req):
         xeninfo = XendDomain.instance().get_vm_by_uuid(vm_ref)
-        if xeninfo.state != XEN_API_VM_POWER_STATE_RUNNING:
+        if xeninfo.state == XEN_API_VM_POWER_STATE_RUNNING \
+               or xeninfo.state == XEN_API_VM_POWER_STATE_PAUSED:
+            xeninfo.send_sysrq(req)
+            return xen_api_success_void()
+        else:
             return xen_api_error(
                 ['VM_BAD_POWER_STATE', vm_ref,
                  XendDomain.POWER_STATE_NAMES[XEN_API_VM_POWER_STATE_RUNNING],
                  XendDomain.POWER_STATE_NAMES[xeninfo.state]])
-        xeninfo.send_sysrq(req)
-        return xen_api_success_void()
-
 
     def VM_send_trigger(self, _, vm_ref, trigger, vcpu):
         xendom = XendDomain.instance()